package com.itcam.lease.web.app.service.impl;

import com.aliyun.dysmsapi20170525.Client;
import com.aliyun.dysmsapi20170525.models.SendSmsRequest;
import com.itcam.lease.common.utils.SmsUtil;
import com.itcam.lease.web.app.service.SmsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class SmsServiceImpl implements SmsService {

    @Autowired
    private Client client;


    /**
     * 发送验证码
     * @param phone 接收验证码的手机号码
     * @param code 要发送的验证码
     */
    @Override
    public void sendCode(String phone, String code) {
        // 创建一个 SendSmsRequest 对象，用于封装发送短信的请求参数
        SendSmsRequest smsRequest = new SendSmsRequest();
        // 设置接收短信的手机号码
        smsRequest.setPhoneNumbers(phone);
        // 设置短信签名名称
        smsRequest.setSignName("阿里云短信测试");
        // 设置短信模板代码
        smsRequest.setTemplateCode("SMS_154950909");
        // 设置短信模板参数，这里将验证码作为参数传递给模板
        smsRequest.setTemplateParam("{\"code\":\"" + code + "\"}");
        try {
            // 调用阿里云短信服务的 sendSms 方法发送短信
            client.sendSms(smsRequest);
        } catch (Exception e) {
            // 捕获异常并重新抛出运行时异常
            throw new RuntimeException(e);
        }
    }

}
